Generally, programs or portions thereof (e.g. upgrades, etc.) are typically installed utilizing installation programs. One example of an installation program includes the INSTALLSHIELD installation program. In use, such installation programs execute an installation process which, in turn, installs at least a portion of a program in a desired operating environment.
The aforementioned installation process may be very complicated in some cases. For example, multiple actions may need to be executed, some with complex relationships with respect to each other. Unfortunately, the currently available installation programs merely provide a linear model for modeling the installation process.
This is mainly because such installation programs employ a sequential approach for an installation process, where tasks are run one after the other in a predefined, fixed flow with little or no flexibility or adaptation for every specific environment. While customizing and extending the functionality of programs, such as the INSTALLSHIELD installation program, is possible, great effort is involved in doing so which makes such approach much less attractive.
There is thus a need for overcoming these and/or other problems associated with the prior art.